Programming Repetitive Tasks in Prolog By Demonstration
نویسنده
چکیده
Most of the recent work in the domain of Programming by Demonstration do not tackle the problem of acquisition of complex program structures like loops. We propose a new algorithm to automate repetitive tasks and to memorize them as Prolog programs. An example of a task is a Prolog goals list. Our method searches for traces of recursive predicates definitions in examples. The Minimum Description Length Principle is the criterion that guide the choice of the algorithm. The construction of a Prolog program automating a task is based on the chosen traces and on constraints due to Prolog syntax and Prolog resolution. Our experimentations with PPD are encouraging.
منابع مشابه
Programming by Demonstration: Detect Repetitive Tasks in Telecom Services
Telecommunication services are bundled together into single applications. These applications allow for connections to many servers and computers, for quick and reliable data access and for document exchange. The invoked tasks can be combined and complex, they may take place in several applications such as copying final data in spreadsheets or word processors using interapplication communication...
متن کاملLearning Users’ Habits to Automate Repetitive Tasks
Adaptive Programming Environment (APE), a software assistant embedded into the VisualWorks Smalltalk interactive programming environment, watches what the user is doing, draws on machine learning to learn the user’s habits, and afterward offers to complete repetitive tasks on his or her behalf. The goal of the APE project was threefold: (1) to design an assistant able to automate repetitive tas...
متن کاملIteration Learning by Demonstration
Programming by demonstration (PBD) utilizes a human teacher to train a computer system to perform tasks within that system. This technique effectively improves productivity for many tasks, in many domains. Many tasks are repetitive in nature; these can be learned by PBD by recognizing the repetitions and generalizing these to iterative programs. We present a domain-independent approach to itera...
متن کاملFamiliar: Automating Repetition in Common Applications
Computers reputedly excel at repetitive problems, yet many users find themselves performing the same actions over and over again. Non-programmers have little choice but to perform iterative tasks by hand. Programming by demonstration is an end-user programming technique that lets the user teach the computer a program by showing it examples of what they want done, much as they might teach anothe...
متن کاملProgramming by demonstration using version space algebra DRAFT to appear in Machine Learning
Programming by demonstration enables users to easily personalize their applications, automating repetitive tasks simply by executing a few examples. We formalize programming by demonstration as a machine learning problem: given the changes in the application state that result from the user’s demonstrated actions, learn the general program that maps from one application state to the next. We pre...
متن کامل